package tema8.modello;

import java.util.Observable;

/**
 * Un Proxy per una Curva. E' un Observable
 * 
 * @author Alessandro Martinelli
 */
public class ProxyCurva extends Observable implements Curva{

	private Curva curva;

	public Curva getCurva() {
		return curva;
	}

	/**
	 * Imposta la curva che questo proxy rappresenta
	 * @param curva
	 */
	public void setCurva(Curva curva) {
		this.curva = curva;
		//NOTA: notifica gli observer, per dire loro che questa ProxyCurva ora è cambiata.
		//Infatti, cambiando la curva cambia il risultato di getTMax, getTMin, getX e getY
		setChanged();
		notifyObservers();
	}
	

	@Override
	public float getTMax() {
		return curva.getTMax();
	}
	
	@Override
	public float getTMin() {
		return curva.getTMin();
	}
	
	@Override
	public float getX(float t) {
		return curva.getX(t);
	}
	
	@Override
	public float getY(float t) {
		return curva.getY(t);
	}
}
